export class Clock {
  constructor({ template, dom }) {
    this.template = template;
    this.dom = dom
  }

  render() { // 渲染
    let date = new Date();

    let hours = date.getHours();
    if (hours < 10) hours = '0' + hours;

    let mins = date.getMinutes();
    if (mins < 10) mins = '0' + mins;

    let secs = date.getSeconds();
    if (secs < 10) secs = '0' + secs;

    let output = "嘀嗒：" + this.template
      .replace('h', hours)
      .replace('m', mins)
      .replace('s', secs);

    console.log(output);
    this.dom.innerText = output
  }

  stop() {
    clearInterval(this.timer);
  }

  start() {
    this.render();
    this.timer = setInterval(() => this.render(), 1000);
  }
}


/*
  现在要求你创建一个class ExtendedClock 继承Clock，
  并且给构造方法添加一个新的参数 precision（精度）
    - 值是每次“嘀嗒”的间隔，默认值1000ms（1秒）
  
  - 你的代码应该写在 extended-clock.js 里
  - 不要修改Clock的代码（继承它），实现功能
  
  使用：
  new ExtendedClock({
    template:'现在是h:m:s', precision: 2000
  }).start()
  */